package com.refresh.pos.domain; import java.util.List; import android.content.ContentValues; import com.refresh.pos.techicalservices.Database; import com.refresh.pos.techicalservices.DatabaseContents; /** * Saves and loads language preference from database. * * @author Refresh Team * */ public class LanguageController { private static final String DEFAULT_LANGUAGE = "en"; private static Database database; private static LanguageController instance; private LanguageController() { } public static LanguageController getInstance() { if (instance == null) instance = new LanguageController(); return instance; } /** * Sets database for use in this class. * @param db database. */ public static void setDatabase(Database db) { database = db; } /** * Sets language for use in application. * @param localeString local string of country. */ public void setLanguage(String localeString) { database.execute("UPDATE " + DatabaseContents.LANGUAGE + " SET language = '" + localeString + "'"); } /** * Returns current language. * @return current language. */ public String getLanguage() { List<Object> contents = database.select("SELECT * FROM " + DatabaseContents.LANGUAGE); if (contents.isEmpty()) { ContentValues defualtLang = new ContentValues(); defualtLang.put("language", DEFAULT_LANGUAGE); database.insert( DatabaseContents.LANGUAGE.toString(), defualtLang); return DEFAULT_LANGUAGE; } ContentValues content = (ContentValues) contents.get(0); return content.getAsString("language"); } }